package xyz.hubery.handler;

import org.springframework.stereotype.Component;
import xyz.hubery.domain.AsyncTask;
import xyz.hubery.enums.AsyncTaskType;
import xyz.hubery.model.Constant;

@Component("asyncTaskManager")
public class AsyncTaskManager {
    
    /**
     * 根据任务动态获取最大重试次数
     */
    public int getMaxRetry(AsyncTask task) {
        AsyncTaskHandler handler = getHandler(AsyncTaskType.of(task.getType()));
        if (handler != null) {
            return handler.getMaxRetry(task);
        }
        
        // 默认重试次数
        return Constant.TASK_MAX_RETRY;
    }
    
    private AsyncTaskHandler getHandler(AsyncTaskType taskType) {
        // 从handlerMap获取处理器的逻辑
        return null; // 简化实现
    }
}